package com.example.applyforaid.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ApplicationExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ApplicationExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andApplicationIdIsNull() {
            addCriterion("application_id is null");
            return (Criteria) this;
        }

        public Criteria andApplicationIdIsNotNull() {
            addCriterion("application_id is not null");
            return (Criteria) this;
        }

        public Criteria andApplicationIdEqualTo(String value) {
            addCriterion("application_id =", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdNotEqualTo(String value) {
            addCriterion("application_id <>", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdGreaterThan(String value) {
            addCriterion("application_id >", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdGreaterThanOrEqualTo(String value) {
            addCriterion("application_id >=", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdLessThan(String value) {
            addCriterion("application_id <", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdLessThanOrEqualTo(String value) {
            addCriterion("application_id <=", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdLike(String value) {
            addCriterion("application_id like", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdNotLike(String value) {
            addCriterion("application_id not like", value, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdIn(List<String> values) {
            addCriterion("application_id in", values, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdNotIn(List<String> values) {
            addCriterion("application_id not in", values, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdBetween(String value1, String value2) {
            addCriterion("application_id between", value1, value2, "applicationId");
            return (Criteria) this;
        }

        public Criteria andApplicationIdNotBetween(String value1, String value2) {
            addCriterion("application_id not between", value1, value2, "applicationId");
            return (Criteria) this;
        }

        public Criteria andClothesIdIsNull() {
            addCriterion("clothes_id is null");
            return (Criteria) this;
        }

        public Criteria andClothesIdIsNotNull() {
            addCriterion("clothes_id is not null");
            return (Criteria) this;
        }

        public Criteria andClothesIdEqualTo(String value) {
            addCriterion("clothes_id =", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdNotEqualTo(String value) {
            addCriterion("clothes_id <>", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdGreaterThan(String value) {
            addCriterion("clothes_id >", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdGreaterThanOrEqualTo(String value) {
            addCriterion("clothes_id >=", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdLessThan(String value) {
            addCriterion("clothes_id <", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdLessThanOrEqualTo(String value) {
            addCriterion("clothes_id <=", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdLike(String value) {
            addCriterion("clothes_id like", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdNotLike(String value) {
            addCriterion("clothes_id not like", value, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdIn(List<String> values) {
            addCriterion("clothes_id in", values, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdNotIn(List<String> values) {
            addCriterion("clothes_id not in", values, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdBetween(String value1, String value2) {
            addCriterion("clothes_id between", value1, value2, "clothesId");
            return (Criteria) this;
        }

        public Criteria andClothesIdNotBetween(String value1, String value2) {
            addCriterion("clothes_id not between", value1, value2, "clothesId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdIsNull() {
            addCriterion("app_stu_id is null");
            return (Criteria) this;
        }

        public Criteria andAppStuIdIsNotNull() {
            addCriterion("app_stu_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppStuIdEqualTo(String value) {
            addCriterion("app_stu_id =", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdNotEqualTo(String value) {
            addCriterion("app_stu_id <>", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdGreaterThan(String value) {
            addCriterion("app_stu_id >", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_stu_id >=", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdLessThan(String value) {
            addCriterion("app_stu_id <", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdLessThanOrEqualTo(String value) {
            addCriterion("app_stu_id <=", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdLike(String value) {
            addCriterion("app_stu_id like", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdNotLike(String value) {
            addCriterion("app_stu_id not like", value, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdIn(List<String> values) {
            addCriterion("app_stu_id in", values, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdNotIn(List<String> values) {
            addCriterion("app_stu_id not in", values, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdBetween(String value1, String value2) {
            addCriterion("app_stu_id between", value1, value2, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStuIdNotBetween(String value1, String value2) {
            addCriterion("app_stu_id not between", value1, value2, "appStuId");
            return (Criteria) this;
        }

        public Criteria andAppStatusIsNull() {
            addCriterion("app_status is null");
            return (Criteria) this;
        }

        public Criteria andAppStatusIsNotNull() {
            addCriterion("app_status is not null");
            return (Criteria) this;
        }

        public Criteria andAppStatusEqualTo(Integer value) {
            addCriterion("app_status =", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusNotEqualTo(Integer value) {
            addCriterion("app_status <>", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusGreaterThan(Integer value) {
            addCriterion("app_status >", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("app_status >=", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusLessThan(Integer value) {
            addCriterion("app_status <", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusLessThanOrEqualTo(Integer value) {
            addCriterion("app_status <=", value, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusIn(List<Integer> values) {
            addCriterion("app_status in", values, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusNotIn(List<Integer> values) {
            addCriterion("app_status not in", values, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusBetween(Integer value1, Integer value2) {
            addCriterion("app_status between", value1, value2, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("app_status not between", value1, value2, "appStatus");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeIsNull() {
            addCriterion("app_spawn_time is null");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeIsNotNull() {
            addCriterion("app_spawn_time is not null");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeEqualTo(Date value) {
            addCriterion("app_spawn_time =", value, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeNotEqualTo(Date value) {
            addCriterion("app_spawn_time <>", value, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeGreaterThan(Date value) {
            addCriterion("app_spawn_time >", value, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("app_spawn_time >=", value, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeLessThan(Date value) {
            addCriterion("app_spawn_time <", value, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeLessThanOrEqualTo(Date value) {
            addCriterion("app_spawn_time <=", value, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeIn(List<Date> values) {
            addCriterion("app_spawn_time in", values, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeNotIn(List<Date> values) {
            addCriterion("app_spawn_time not in", values, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeBetween(Date value1, Date value2) {
            addCriterion("app_spawn_time between", value1, value2, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppSpawnTimeNotBetween(Date value1, Date value2) {
            addCriterion("app_spawn_time not between", value1, value2, "appSpawnTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeIsNull() {
            addCriterion("app_first_verify_time is null");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeIsNotNull() {
            addCriterion("app_first_verify_time is not null");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeEqualTo(Date value) {
            addCriterion("app_first_verify_time =", value, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeNotEqualTo(Date value) {
            addCriterion("app_first_verify_time <>", value, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeGreaterThan(Date value) {
            addCriterion("app_first_verify_time >", value, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("app_first_verify_time >=", value, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeLessThan(Date value) {
            addCriterion("app_first_verify_time <", value, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("app_first_verify_time <=", value, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeIn(List<Date> values) {
            addCriterion("app_first_verify_time in", values, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeNotIn(List<Date> values) {
            addCriterion("app_first_verify_time not in", values, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeBetween(Date value1, Date value2) {
            addCriterion("app_first_verify_time between", value1, value2, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVerifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("app_first_verify_time not between", value1, value2, "appFirstVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeIsNull() {
            addCriterion("app_second_verify_time is null");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeIsNotNull() {
            addCriterion("app_second_verify_time is not null");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeEqualTo(Date value) {
            addCriterion("app_second_verify_time =", value, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeNotEqualTo(Date value) {
            addCriterion("app_second_verify_time <>", value, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeGreaterThan(Date value) {
            addCriterion("app_second_verify_time >", value, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("app_second_verify_time >=", value, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeLessThan(Date value) {
            addCriterion("app_second_verify_time <", value, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("app_second_verify_time <=", value, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeIn(List<Date> values) {
            addCriterion("app_second_verify_time in", values, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeNotIn(List<Date> values) {
            addCriterion("app_second_verify_time not in", values, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeBetween(Date value1, Date value2) {
            addCriterion("app_second_verify_time between", value1, value2, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppSecondVerifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("app_second_verify_time not between", value1, value2, "appSecondVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeIsNull() {
            addCriterion("app_third_verify_time is null");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeIsNotNull() {
            addCriterion("app_third_verify_time is not null");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeEqualTo(Date value) {
            addCriterion("app_third_verify_time =", value, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeNotEqualTo(Date value) {
            addCriterion("app_third_verify_time <>", value, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeGreaterThan(Date value) {
            addCriterion("app_third_verify_time >", value, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("app_third_verify_time >=", value, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeLessThan(Date value) {
            addCriterion("app_third_verify_time <", value, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("app_third_verify_time <=", value, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeIn(List<Date> values) {
            addCriterion("app_third_verify_time in", values, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeNotIn(List<Date> values) {
            addCriterion("app_third_verify_time not in", values, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeBetween(Date value1, Date value2) {
            addCriterion("app_third_verify_time between", value1, value2, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppThirdVerifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("app_third_verify_time not between", value1, value2, "appThirdVerifyTime");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonIsNull() {
            addCriterion("app_fail_reason is null");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonIsNotNull() {
            addCriterion("app_fail_reason is not null");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonEqualTo(String value) {
            addCriterion("app_fail_reason =", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonNotEqualTo(String value) {
            addCriterion("app_fail_reason <>", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonGreaterThan(String value) {
            addCriterion("app_fail_reason >", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonGreaterThanOrEqualTo(String value) {
            addCriterion("app_fail_reason >=", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonLessThan(String value) {
            addCriterion("app_fail_reason <", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonLessThanOrEqualTo(String value) {
            addCriterion("app_fail_reason <=", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonLike(String value) {
            addCriterion("app_fail_reason like", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonNotLike(String value) {
            addCriterion("app_fail_reason not like", value, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonIn(List<String> values) {
            addCriterion("app_fail_reason in", values, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonNotIn(List<String> values) {
            addCriterion("app_fail_reason not in", values, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonBetween(String value1, String value2) {
            addCriterion("app_fail_reason between", value1, value2, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppFailReasonNotBetween(String value1, String value2) {
            addCriterion("app_fail_reason not between", value1, value2, "appFailReason");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeIsNull() {
            addCriterion("app_clothes_size is null");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeIsNotNull() {
            addCriterion("app_clothes_size is not null");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeEqualTo(Integer value) {
            addCriterion("app_clothes_size =", value, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeNotEqualTo(Integer value) {
            addCriterion("app_clothes_size <>", value, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeGreaterThan(Integer value) {
            addCriterion("app_clothes_size >", value, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeGreaterThanOrEqualTo(Integer value) {
            addCriterion("app_clothes_size >=", value, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeLessThan(Integer value) {
            addCriterion("app_clothes_size <", value, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeLessThanOrEqualTo(Integer value) {
            addCriterion("app_clothes_size <=", value, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeIn(List<Integer> values) {
            addCriterion("app_clothes_size in", values, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeNotIn(List<Integer> values) {
            addCriterion("app_clothes_size not in", values, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeBetween(Integer value1, Integer value2) {
            addCriterion("app_clothes_size between", value1, value2, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppClothesSizeNotBetween(Integer value1, Integer value2) {
            addCriterion("app_clothes_size not between", value1, value2, "appClothesSize");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnIsNull() {
            addCriterion("app_withdrawn is null");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnIsNotNull() {
            addCriterion("app_withdrawn is not null");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnEqualTo(Boolean value) {
            addCriterion("app_withdrawn =", value, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnNotEqualTo(Boolean value) {
            addCriterion("app_withdrawn <>", value, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnGreaterThan(Boolean value) {
            addCriterion("app_withdrawn >", value, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnGreaterThanOrEqualTo(Boolean value) {
            addCriterion("app_withdrawn >=", value, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnLessThan(Boolean value) {
            addCriterion("app_withdrawn <", value, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnLessThanOrEqualTo(Boolean value) {
            addCriterion("app_withdrawn <=", value, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnIn(List<Boolean> values) {
            addCriterion("app_withdrawn in", values, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnNotIn(List<Boolean> values) {
            addCriterion("app_withdrawn not in", values, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnBetween(Boolean value1, Boolean value2) {
            addCriterion("app_withdrawn between", value1, value2, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppWithdrawnNotBetween(Boolean value1, Boolean value2) {
            addCriterion("app_withdrawn not between", value1, value2, "appWithdrawn");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeIsNull() {
            addCriterion("app_current_exceed_time is null");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeIsNotNull() {
            addCriterion("app_current_exceed_time is not null");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeEqualTo(Date value) {
            addCriterion("app_current_exceed_time =", value, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeNotEqualTo(Date value) {
            addCriterion("app_current_exceed_time <>", value, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeGreaterThan(Date value) {
            addCriterion("app_current_exceed_time >", value, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("app_current_exceed_time >=", value, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeLessThan(Date value) {
            addCriterion("app_current_exceed_time <", value, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeLessThanOrEqualTo(Date value) {
            addCriterion("app_current_exceed_time <=", value, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeIn(List<Date> values) {
            addCriterion("app_current_exceed_time in", values, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeNotIn(List<Date> values) {
            addCriterion("app_current_exceed_time not in", values, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeBetween(Date value1, Date value2) {
            addCriterion("app_current_exceed_time between", value1, value2, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppCurrentExceedTimeNotBetween(Date value1, Date value2) {
            addCriterion("app_current_exceed_time not between", value1, value2, "appCurrentExceedTime");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByIsNull() {
            addCriterion("app_first_veryfied_by is null");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByIsNotNull() {
            addCriterion("app_first_veryfied_by is not null");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByEqualTo(String value) {
            addCriterion("app_first_veryfied_by =", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByNotEqualTo(String value) {
            addCriterion("app_first_veryfied_by <>", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByGreaterThan(String value) {
            addCriterion("app_first_veryfied_by >", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByGreaterThanOrEqualTo(String value) {
            addCriterion("app_first_veryfied_by >=", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByLessThan(String value) {
            addCriterion("app_first_veryfied_by <", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByLessThanOrEqualTo(String value) {
            addCriterion("app_first_veryfied_by <=", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByLike(String value) {
            addCriterion("app_first_veryfied_by like", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByNotLike(String value) {
            addCriterion("app_first_veryfied_by not like", value, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByIn(List<String> values) {
            addCriterion("app_first_veryfied_by in", values, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByNotIn(List<String> values) {
            addCriterion("app_first_veryfied_by not in", values, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByBetween(String value1, String value2) {
            addCriterion("app_first_veryfied_by between", value1, value2, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppFirstVeryfiedByNotBetween(String value1, String value2) {
            addCriterion("app_first_veryfied_by not between", value1, value2, "appFirstVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByIsNull() {
            addCriterion("app_second_veryfied_by is null");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByIsNotNull() {
            addCriterion("app_second_veryfied_by is not null");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByEqualTo(String value) {
            addCriterion("app_second_veryfied_by =", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByNotEqualTo(String value) {
            addCriterion("app_second_veryfied_by <>", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByGreaterThan(String value) {
            addCriterion("app_second_veryfied_by >", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByGreaterThanOrEqualTo(String value) {
            addCriterion("app_second_veryfied_by >=", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByLessThan(String value) {
            addCriterion("app_second_veryfied_by <", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByLessThanOrEqualTo(String value) {
            addCriterion("app_second_veryfied_by <=", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByLike(String value) {
            addCriterion("app_second_veryfied_by like", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByNotLike(String value) {
            addCriterion("app_second_veryfied_by not like", value, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByIn(List<String> values) {
            addCriterion("app_second_veryfied_by in", values, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByNotIn(List<String> values) {
            addCriterion("app_second_veryfied_by not in", values, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByBetween(String value1, String value2) {
            addCriterion("app_second_veryfied_by between", value1, value2, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppSecondVeryfiedByNotBetween(String value1, String value2) {
            addCriterion("app_second_veryfied_by not between", value1, value2, "appSecondVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByIsNull() {
            addCriterion("app_third_veryfied_by is null");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByIsNotNull() {
            addCriterion("app_third_veryfied_by is not null");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByEqualTo(String value) {
            addCriterion("app_third_veryfied_by =", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByNotEqualTo(String value) {
            addCriterion("app_third_veryfied_by <>", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByGreaterThan(String value) {
            addCriterion("app_third_veryfied_by >", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByGreaterThanOrEqualTo(String value) {
            addCriterion("app_third_veryfied_by >=", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByLessThan(String value) {
            addCriterion("app_third_veryfied_by <", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByLessThanOrEqualTo(String value) {
            addCriterion("app_third_veryfied_by <=", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByLike(String value) {
            addCriterion("app_third_veryfied_by like", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByNotLike(String value) {
            addCriterion("app_third_veryfied_by not like", value, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByIn(List<String> values) {
            addCriterion("app_third_veryfied_by in", values, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByNotIn(List<String> values) {
            addCriterion("app_third_veryfied_by not in", values, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByBetween(String value1, String value2) {
            addCriterion("app_third_veryfied_by between", value1, value2, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppThirdVeryfiedByNotBetween(String value1, String value2) {
            addCriterion("app_third_veryfied_by not between", value1, value2, "appThirdVeryfiedBy");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerIsNull() {
            addCriterion("app_current_viewer is null");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerIsNotNull() {
            addCriterion("app_current_viewer is not null");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerEqualTo(String value) {
            addCriterion("app_current_viewer =", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerNotEqualTo(String value) {
            addCriterion("app_current_viewer <>", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerGreaterThan(String value) {
            addCriterion("app_current_viewer >", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerGreaterThanOrEqualTo(String value) {
            addCriterion("app_current_viewer >=", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerLessThan(String value) {
            addCriterion("app_current_viewer <", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerLessThanOrEqualTo(String value) {
            addCriterion("app_current_viewer <=", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerLike(String value) {
            addCriterion("app_current_viewer like", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerNotLike(String value) {
            addCriterion("app_current_viewer not like", value, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerIn(List<String> values) {
            addCriterion("app_current_viewer in", values, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerNotIn(List<String> values) {
            addCriterion("app_current_viewer not in", values, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerBetween(String value1, String value2) {
            addCriterion("app_current_viewer between", value1, value2, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppCurrentViewerNotBetween(String value1, String value2) {
            addCriterion("app_current_viewer not between", value1, value2, "appCurrentViewer");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdIsNull() {
            addCriterion("app_project_id is null");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdIsNotNull() {
            addCriterion("app_project_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdEqualTo(String value) {
            addCriterion("app_project_id =", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdNotEqualTo(String value) {
            addCriterion("app_project_id <>", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdGreaterThan(String value) {
            addCriterion("app_project_id >", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_project_id >=", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdLessThan(String value) {
            addCriterion("app_project_id <", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdLessThanOrEqualTo(String value) {
            addCriterion("app_project_id <=", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdLike(String value) {
            addCriterion("app_project_id like", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdNotLike(String value) {
            addCriterion("app_project_id not like", value, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdIn(List<String> values) {
            addCriterion("app_project_id in", values, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdNotIn(List<String> values) {
            addCriterion("app_project_id not in", values, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdBetween(String value1, String value2) {
            addCriterion("app_project_id between", value1, value2, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppProjectIdNotBetween(String value1, String value2) {
            addCriterion("app_project_id not between", value1, value2, "appProjectId");
            return (Criteria) this;
        }

        public Criteria andAppDeletedIsNull() {
            addCriterion("app_deleted is null");
            return (Criteria) this;
        }

        public Criteria andAppDeletedIsNotNull() {
            addCriterion("app_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andAppDeletedEqualTo(Boolean value) {
            addCriterion("app_deleted =", value, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedNotEqualTo(Boolean value) {
            addCriterion("app_deleted <>", value, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedGreaterThan(Boolean value) {
            addCriterion("app_deleted >", value, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("app_deleted >=", value, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedLessThan(Boolean value) {
            addCriterion("app_deleted <", value, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedLessThanOrEqualTo(Boolean value) {
            addCriterion("app_deleted <=", value, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedIn(List<Boolean> values) {
            addCriterion("app_deleted in", values, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedNotIn(List<Boolean> values) {
            addCriterion("app_deleted not in", values, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedBetween(Boolean value1, Boolean value2) {
            addCriterion("app_deleted between", value1, value2, "appDeleted");
            return (Criteria) this;
        }

        public Criteria andAppDeletedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("app_deleted not between", value1, value2, "appDeleted");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}